package com.it.gmall.product.controller;

import com.it.gmall.common.result.Result;
import com.it.gmall.product.utils.FileUploadUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

// 管理文件
@RestController
@RequestMapping("/admin/product")
// 自动刷新扩展配置文件 不用再去重启服务器 结合yml文件的配置
@RefreshScope
public class FileController {

    @Value("${img.url}")
    private String imgUrl;
    /**
     * 上传文件
     * @param file 文件
     * @return
     */
    @PostMapping("/fileUpload")
    public Result uploadFile(MultipartFile file){
        String fileName=null;
        // 上传文件
        try {
            byte[] fileBytes = file.getBytes();
            String extension = FilenameUtils.getExtension(file.getOriginalFilename());

            fileName = FileUploadUtils.uploadFile(fileBytes,extension);

        } catch (Exception e) {
            e.printStackTrace();
        }
        return Result.ok(imgUrl+fileName);
    }
}
